export function generateRandomData(dataType) {
    let data;
    switch (dataType) {
        case 'string':
            data = Math.random().toString(36).substring(7).toUpperCase(); // 生成一个随机的字符串
            break;
        case 'number':
            data = Math.floor(Math.random() * 1000); // 生成一个0到999之间的随机整数
            break;
        case 'boolean':
            data = Math.random() >= 0.5; // 以50%的概率生成true或false
            break;
        case 'date':
            const startDate = new Date('2020-01-01');
            const endDate = new Date();
            const timeDifference = endDate - startDate;
            const randomTime = Math.random() * timeDifference;
            data = new Date(startDate.getTime() + randomTime).toISOString(); // 生成一个随机日期（ISO字符串）
            break;
        default:
            data = Math.random().toString(36).substring(7).toUpperCase(); 
    }
    return data;
}

export function generateRecords(fieldDefs) {
    // 验证输入参数
    if (!Array.isArray(fieldDefs) || fieldDefs.length === 0) {
        throw new Error("字段定义必须是一个非空数组");
    }

    // 生成记录
    const records = [];
    for (let i = 0; i < 10; i++) {
        const record = {};
        fieldDefs.filter(item=>item.hasOwnProperty('prop')).forEach(fieldDef => {
            const { label, prop, dataType } = fieldDef;
            record[prop] = generateRandomData(dataType);
        });
        records.push(record);
    }
    return records;
}